home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 1 Issue 2 / PDCD-1 - Issue 02.iso / _utilities / utilities / 004 / fsck / fsck_help < prev    next >
Text File  |  1994-10-11  |  17KB  |  340 lines

  1. fsck (1.20) - map fixer and analyst
  2.  
  3. NOTE: this program is SHAREWARE. Read the !SHAREWARE file for more info.
  4.  
  5. fsck is a disc utility that fixes the map of an E-Format disc (hard or
  6. floppy) if it is corrupted for some obscure reasons. fsck can also report
  7. some informations about the way the files are allocated (such as the bytes
  8. lost because of sectors boundaries) and eventually print a detailed
  9. description of the map and directories organization.
  10. fsck can also be considered as a replace of the *CheckMap command because it
  11. is faster, less prone to crash and can give useful informations on the files 
  12. allocation.
  13.  
  14.  
  15. Usage
  16. -----
  17.  
  18. fsck [-options] [-d lostdir] [-l logfile] [pathname]
  19. Most used options:
  20.   -s   calculate statistics
  21.   -f   try to fix map if broken
  22.   -l   print the results in "logfile"
  23. Less used options:
  24.   -h   print help informations
  25.   -d   link broken part of map in directory "lostdir"
  26.   -v   print files location (-vv print also files position in zones)
  27.   -D   just display disc information recorded in the map header
  28.   -q   don't display disc information (quiet mode)
  29.   -c   produce output like *CheckMap
  30.   -m   ask the user to eventually move files instead of changing map
  31.   -n   don't try to recognise directories
  32.  
  33. The default directory where files are linked is "$.lost+found".
  34. If 'pathname' is not specified, the current disc is analysed.
  35. If 'pathname' is not a root directory (eg. ADFS::0.$.Library), fsck checks
  36. only that directory and so it cannot tell you if the map is good or broken.
  37. This could be useful if you want to know the statistics of a single directory
  38. instead of the whole disc. If the -f option is used, the disc is scanned from
  39. the root directory, regardless of 'pathname'.
  40. The -m and -n options used together cause fsck 1.20 or later to work like
  41. fsck 1.13 or earlier.
  42.  
  43.  
  44. What it does (or tries to do...)
  45. --------------------------------
  46.  
  47. fsck scans the directory tree and checks the map to see if every file
  48. registered in the map actually exists in a directory. If not, it creates that
  49. file in a directory so that you will be able to delete it in the normal way.
  50. If the file was originally a directory, fsck tries to relink it
  51. reconstructing the directory name and content. Even if you want to keep the
  52. relinked files or directories, you should copy them and delete the original
  53. one, because there is the risk that your map will be corrupted again,
  54. especially if you try to change them. 
  55. Apart from directories and their content, the re-linked files are usually
  56. longer than the original lost file because fsck always links whole sectors
  57. (and there is no way to know the original length), their filenames are random
  58. and filetypes always &FFF (Text).
  59. Using the -m option, fsck could tell you that an ID is regularly allocated
  60. for another file and you have to delete it (moving the file to another
  61. directory isn't enough, you have to copy it and delete the original) and run
  62. fsck again. Without this option, fsck will change the ID in the map and
  63. rewrite it to disc. The -m option is in fact only useful if you prefer not to
  64. modify your map: anyway, remember that moving files on a corrupted disc can
  65. be quite dangerous and can eventually corrupt other parts of the disc.
  66. Sometimes the disc may be so corrupted that you will need to run fsck more
  67. than once, the program itself will tell you if a re-run is needed.
  68.  
  69.  
  70. The logfile
  71. -----------
  72.  
  73. Using the logfile (-l) option is generally really useful: if something
  74. strange happens, the author will be more helpful if he can see exactly what
  75. happened and you don't even have to try to explain what happened when you run
  76. fsck, the logfile is usually enough!
  77. The logfile contains exactly what it is printed to the screen: unless you use
  78. the -v option it will be really small (nearly 2K on a good map or nearly 10K
  79. on a quite corrupted one). 
  80. You cannot save the logfile to the disc to analyse.
  81. If a file with the same name of the logfile already exists, the new data will
  82. be attached at the end of it: in this way, you can attach together two or
  83. more logfiles.
  84.  
  85.  
  86. fsck and Risc PC
  87. ----------------
  88.  
  89. fsck and CheckMap are no more equivalent on Risc PCs! In fact, Acorn changed
  90. some behaviours of the FileCore module in RISC OS 3.50 so that it can now
  91. cope with over-allocated files (ie. files that have allocated more space than
  92. they need). This sort of files on old version of RISC OS causes CheckMap to
  93. say "Map inconsistent" and if you try to delete such files you will lose some
  94. space. On RISC OS 3.50 CheckMap no more says "Map inconsistent" if
  95. over-allocated files are the only map problem and deleting them no more
  96. causes lost space. Compliment Acorn!
  97. fsck still reports map corruptions in this case (on every version of RISC OS)
  98. since an over-allocated file can be considered a problem (think at a 100K
  99. file that uses up 10Mb of disc space and you will understand what I mean!).
  100. Anyway, on a Risc PC, using the -m option you can be able to discover such
  101. files and you can fix the disc (assuming that your map is corrupted only
  102. because of over-allocated files) just moving them.
  103. Remember that using the -f option fsck can cure the disc without moving any
  104. file on every version of RISC OS.
  105.  
  106.  
  107. Notes
  108. -----
  109.  
  110. fsck is 20-30% faster than CheckMap (actually, up to 50% faster on big and
  111. full drives!). If you like CheckMap's output instead of fsck's one, you can
  112. use the -c option so that fsck will print the directory tree as it proceeds
  113. with the scan. Anyway, fsck can also be used to show the "Free space chunks
  114. statistics" or to calculate some statistics about the files allocation using
  115. the -s option.
  116. The "Free space chunks statistics" are always shown unless the -q or -c
  117. options have been specified: in general, with a high number of (small) free
  118. space chunks, RISC OS will be slower when saving files because it will try to
  119. do an auto-Compact and (this is my personal opinion) there will be more
  120. possibility for your disc to become corrupted. So, I think that in this case
  121. you need to Compact your disc, eventually more than once, to try to lower the
  122. number of free space chunks and to increase their size.
  123. Remember that it is better if you close all the open files on the disc that
  124. fsck is examining (ie. don't *spool on it!!). If you run fsck in a TaskWindow
  125. remember to avoid any save of data on that disc while fsck is running because
  126. this will have VERY VERY DANGEROUS consequences if you use the -f option!!!
  127. If some file is corrupted, fsck will tell you to eliminate it before trying
  128. to fix the disc (if you were already trying to fix the disc the fixing will be
  129. disabled): before this, try to load the file and if RISC OS doesn't hang you 
  130. could be able to save the file somewhere before deleting the original.
  131.  
  132.  
  133. Disclaimer
  134. ----------
  135.  
  136. Even if fsck *can* write to the map, this is generally not dangerous since it
  137. only modifies the IDs of the lost files. Anyway, you are adviced to use
  138. hardfix to save the disc data before using fsck, so that you will be able to
  139. restore it in case something goes wrong. If the relinked files are (for some
  140. mysterious reason) unreadable or undeletable you should just use eliminate on
  141. them and your disc should be as corrupted as before.
  142. Anyway, modifying the disc map and the directory tree can always be
  143. dangerous: if fsck corrupts your disc (or if the disc becomes corrupted when
  144. you start writing to it after using fsck), I am sorry for you but I AM NOT
  145. RESPONSIBLE for any loss of data on your discs, so use fsck at your own risk. 
  146. As you can see from the list below, fsck worked on many discs and it never
  147. corrupted anything. Sometimes, I intentionally corrupt my disc to see if the
  148. new versions work and never experienced any problem!
  149. Finally, remember that unless you specify the -f option, fsck will not write
  150. to your disc and you are encouraged to make a backup copy of your important
  151. data and to save the disc data using hardfix before running fsck -f.
  152.  
  153.  
  154. Limitations
  155. -----------
  156.  
  157. fsck can't fix seriously damaged discs alone: in this case it will ask you to
  158. run eliminate or hardfix to fix what it can't.
  159.  
  160.  
  161. Bugs
  162. ----
  163.  
  164. It seems that sometimes fsck produces strange "Bad drive" errors: this
  165. probably has been cured but if you encounter this sort of problem, please
  166. contact the author sending a logfile and the saved disc data (using hardfix).
  167. Sometimes, on heavily damaged disc, you need to run fsck more than once even
  168. if it doesn't tell you to do so.
  169. fsck could have problems with RISCiX partitioned discs: it works with the
  170. only RISCiX partitioned disc I tried it on, but I cannot be sure it will work
  171. on yours, too. If you have such a disc and fsck reports strange errors (or
  172. say to run hardfix to fix it) please mail me the logfile and (more important)
  173. the disc data saved by hardfix.
  174.  
  175.  
  176. Results achieved up to now
  177. --------------------------
  178.  
  179. If you run fsck on your corrupted HD, please let me know! If it wasn't able
  180. to fix it, I'll try to modify it to cope with your problem. If you want to
  181. stay anonymous tell me not to include your name.
  182.  
  183. Positive results:
  184.  1) some 800K ADFS floppy (used during development).
  185.  2) 100Mb IDE (ICS interface) partitioned in 84Mb/16Mb (both partitions
  186.     fixed). Owner: Sergio Monesi (ie. me!)
  187.  3) 100Mb IDE (ICS interface). Owner: Cristian Ghezzi
  188.  4) 314Mb SCSI (Serial Port Alpha SCSI interface). Owner: K. Bailey
  189.  5) 60Mb IDE (A4 portable). Owner: G. Castagno
  190.  6) 48Mb SCSI (Oak 16 Bit interface). Owner: A.M. Baardholt
  191.  7) 40Mb ST506. Owner: A. Goodfellow
  192.  8) 80Mb IDE (A5000). Owner: Julian Wright
  193.  9) 240Mb SCSI (HCCS 8 bit interface) partitioned in 2*120Mb. Owner: Kai
  194.     Schlichting.
  195. 10) 245Mb IDE (A5000). Owner: H. M.
  196. 11) 80Mb IDE (A5000). Owner: Mike Henry
  197. 12) 121Mb SCSI (Lingenuity SCSI interface). Owner: R. Z.
  198. 13) 100Mb SCSI (Oak interface). Owner: JP Hendrix
  199. 14) 60Mb IDE (A4 portable). Owner: J. Wallace
  200. 15) 122Mb SCSI (Atomwide Parallel/SCSI interface). Owner: J. Wallace
  201. 16) 80Mb IDE (A5000). Owner: P. Callan
  202. 17) 240Mb SCSI (Morley Cached interface). Owner: P. Callan
  203. 18) 80Mb SCSI (Morley Cached interface). Owner: P. Callan
  204. 19) Some 45Mb Syquest Removable cartridges. Owner: P. Callan (this poor dude
  205.     has a lot of discs, all of them were broken, now successfully fixed!!)
  206. 20) 40Mb ST506. Owner: G. Riley
  207. 21) 40Mb IDE (Serial Port interface). Owner: G. Riley
  208. 22) 40Mb ST506. Owner: M. Ferrari
  209. 23) 240Mb IDE (A5000). Owner: E. Pfarr
  210. 24) 200Mb SCSI. Owner: S. Williams
  211. 25) 500Mb SCSI. Owner: S. Williams 
  212. 26) 314Mb SCSI (Morley interface). Owner: Cy Booker
  213. 27) 60Mb IDE (A4 portable). Owner: M. Stephens
  214. 28) 105Mb SCSI (HCCS 8 bit interface). Owner. S. Huber
  215. 29) 20Mb IDE (Watford interface). Owner: S. Pollard
  216. 30) 57Mb SCSI (Lingenuity interface). Owner: M. Grimminck
  217. 31) 170Mb IDE (A5000). Owner: M. Ebourne
  218.  
  219. Probably many other discs have been fixed but their owner didn't contacted
  220. me...
  221.  
  222. Negative results:
  223.  No negative results till now. 
  224.  
  225.  
  226. History
  227. -------
  228.  
  229. 1.00   First fully working version. Released only via e-mail.
  230. 1.01   Fixed a bug concerning filing system names. Added -D option. Now fsck
  231.        generally need only one run to fix a heavily corrupted disc. Added
  232.        eliminate program.
  233. 1.02   Changed again the method to check filing system names (Thanks to
  234.        Keith Bailey). Added percentages in statistics. Checks boot block
  235.        checksum and shows defect list.
  236. 1.03   Now it is possible to scan a single directory instead of the whole
  237.        disc. You can specify 'relative' pathnames (eg. @.Examples) instead
  238.        of full paths (Thanks to Julian Wright). At the end of the scan fsck
  239.        will tell you which files should be eventually deleted. Added
  240.        statistics about fragmented files and free blocks sizes. Changed the
  241.        'F's and 'D's with a rotating wheel... Added -q and -l options.
  242. 1.04   Cured a serious bug that has always been present but never caused
  243.        problems (until 1.03). Added ImageFSFix check and -I option. Now fsck
  244.        understands RISCiX partitions.
  245. 1.10   RISCiX partitions are now fully supported (ie. mapped out). First
  246.        version distributed as SHAREWARE.
  247. 1.11   Added -a option. The logfile is appended to the end of the file if it
  248.        already exists and now it contains the creation date. Great speed
  249.        increase (up to 2 times faster without -s and 5 times faster with
  250.        -s!!!). Now fsck is just 25% slower than *CheckMap (or 2 times slower
  251.        with -s)! Added the note about "Free space chunks statistics" (see
  252.        the section Notes).
  253. 1.12   Another speed improvement (just 10%)! fsck isn't yet as fast as
  254.        *CheckMap but I'm working on it ;-) Fixed a possible dangerous
  255.        behaviour of -a option. Added a warning for HD boot blocks marked as
  256.        defect. Slowed down the wheel. Added files MapExpl and StatsHelp. 
  257. 1.13   Faster again (15% with -s, 3% without)!! Now statistics are just a bit
  258.        slower than normal mode. Automatic creation of lostdir. More messages
  259.        at the end of the process that can help to understand what happened
  260.        (ie. the disc is fixed, fixable, unfixable, etc.) and more helpful
  261.        error messages (no more "Can't find 'AD::0.$': incorrect FS") if the
  262.        floppy drive is empty!
  263. 1.20   Completely rewritten! As you would expect: *FASTER* (this is 
  264.        probably the maximum achievable speed with the structure of fsck, so
  265.        don't expect further significant improvements!). Now fsck is 20-30%
  266.        faster than *CheckMap, even with statistics enabled! Directory
  267.        recognisation added (see the "What it does" secton). No more files to 
  268.        move (so many people complained about this)! Added -m and -n options
  269.        to 'simulate' 1.13 version. Added -c option to simulate CheckMap (!).
  270.        Removed the obsolescent -a option. Fixed problems with ImageFSFix 
  271.        module and removed -I option. If some file has allocation problems, 
  272.        the name of the file is reported together with the error, so that you
  273.        can use 'eliminate' to remove it. Fixed a lot of bugs, some more
  274.        sensible messages and more consistent way to print some value. Added
  275.        new statistics about files that must be fragmented. Modified command
  276.        line behaviour: if no 'pathname' is given, fsck scans the current
  277.        disc (as CheckMap do). Added 'hardfix' program. Added '!QuickFix' and
  278.        '!Intro' files. Modified most of this help file, removed the "Can a
  279.        serious filing system corrupt discs?" section that contained only my
  280.        (debatable) opinions and added "fsck and Risc PC" section.
  281.  
  282.  
  283. Thanks go to:
  284. -------------
  285.  
  286. - Keith Bailey who discovered that the first 3 versions of fsck were
  287.   completely useless on his SCSI!! The 4th version finally fixed his
  288.   map problems (twice!). Thanks for the comment about the clock too! :-)
  289. - Adam Goodfellow and Atle Mjelde Baardholt for the beta-testing.
  290. - Hans Ole Rafaelsen who tried fsck on 1.6Mb floppies.
  291. - Julian Wright for his beta-testing, suggestions, PRM docs, bugs-report and 
  292.   interest.
  293. - Ernest Ong who suggested me to write a map-corruptor program to test fsck:
  294.   'eliminate' is ready, now I am working on 'corrupter' ;-)
  295. - Cristian Ghezzi who let me play with his RISCiX partitioned SCSI for a
  296.   whole day to discover some stupid fsck bug. He also let me intentionally 
  297.   corrupt his ST506 disc to test the new directory recognisation feature...
  298. - Andreas Schubert (Platon) who tried fsck on his RiscPC.
  299. - Kai Schlichting who said that fsck was one of the most useful 'Unix ports'
  300.   for RISC OS, a program that the Acorn world really needed. Kai has been
  301.   the first who sent me 'something' to register!
  302. - Mike Henry who has been the first who sent me some pounds to register
  303.   (actually he sent me 10 pounds instead of the 5 I ask!).
  304. - Dag Haakon Myrdal for his suggestions and accurate bug report.
  305. - Martin J. Ebourne for all the (mostly negative!) comments and scepticism.
  306.   Anyway, fsck finally managed to fix his disc (quickly, as he wanted)! :-)
  307. - Simon Middleton who pushed me to finish the new version (1.20) so that he
  308.   could include it in his PD/ShareWare CD-ROM.
  309. - Jason Williams (and all the other collaborators) for DeskLib: the new 
  310.   versions of fsck use some small part of DeskLib and the new sources
  311.   structure is really similar to DeskLib's one.
  312. - the person who spread on Internet a document describing the E-Format
  313.   structure.
  314. - Mohsen Alshayef for his !ArcTools, a very useful utility that allowed
  315.   me to search in the ROM FileCore module for some code...
  316.  
  317.  
  318. Conditions of use
  319. -----------------
  320.  
  321. fsck can only be distributed with the complete fsck suite.
  322. Read the !SHAREWARE file for the conditions of use and distribution of the
  323. whole package.
  324.  
  325.  
  326. I can be contacted at the following address:
  327.  
  328. Sergio Monesi
  329. Via Trento e Trieste 30
  330. 20046 Biassono (MI)
  331. Italy
  332.  
  333. E-mail address:
  334. pel0015@cdc8g5.cdc.polimi.it
  335. If you don't receive a reply (or if the message is bounced) I can also be
  336. contacted at:
  337. sergio@phantom.com
  338. or:
  339. sergio@g386bsd.first.gmd.de
  340.